When
the OLE 1 Version is Overwritten
When the OLE
1 object application is replaced by the OLE 2 version, do the following. (For
the purpose of illustration, the OLE 1 object application is referred to as Ole
1 In-Place Server Outline while the OLE 2 version is Ole 2 In-Place Server
Outline, as shown in the dialog box illustrations that follow).
1. Register Ole 2 In-Place Server Outline.
2. Modify (with your install/setup program) the original
registry entries of Ole 1 In-Place Server Outline by changing the executable
path to point to the Ole 2 In-Place Server Outline executable.
For example, the Server subkey for the OLE 1 executable, named svrapp.exe
in this example, changes from
OLE1ISvrOtl\Protocol\StdFileEditing\Server =
svrapp.exe
to
OLE1ISvrOtl\Protocol\StdFileEditing\Server =
isvrotl.exe
where isvrotl.exe is the name of the OLE 2 object application.
Next, proceed to either step 3 or step 4, depending on whether or not
you want OLE 1 objects converted automatically to the OLE 2 format.
3. If Ole 1 In-Place Server Outline objects will
be converted automatically to the Ole 2 In-Place Server Outline format when the
application is saved, create or modify the following registration database entries:
a. Modify the original registry entry of Ole 1 In-Place Server
Outline by changing the Value of the ProgID = Main User Type Name key
of the entry to Ole 2 In-Place Server Outline.
For example, where OLE1ISvrOtl is the ProgID of the OLE 1
application,
OLE1ISvrOtl = Ole 1 In-Place Server Outline
becomes
OLE1ISvrOtl = Ole 2 In-Place Server Outline
b. Modify the original registry entry of Ole 1 In-Place Server
Outline by adding a NotInsertable subkey under the ProgID key. For
example:
HKEY_CLASSES_ROOT\OLE1SvrOtl\NotInsertable
Note Since the
original registry entries for the OLE 1 server application remain (but with a
pointer to the OLE 2 object application as shown in the preceding step 3a),
the OLE 1 ProgID will appear in the Insert Object dialog box of any OLE 2
container application installed on the system. The NotInsertable subkey
mentioned in step 3b prevents the ProgID of the OLE 1 application from
appearing in the Insert Object dialog box of OLE 2 containers. The NotInsertable
subkey overrides any Insertable subkey entries for that ProgID key.
c. Set the AutoConvertTo = CLSID subkey entry for Ole 1 In-Place
Server Outline under the CLSID key to the CLSID of Ole 2 In-Place Server
Outline. (See also OLE 1 Compatibility Subkeys ).
CLSID\{ CLSID
of OLE 1 app.}\AutoConvertTo = { CLSID of OLE 2 app.}
Note You can obtain
the CLSID of the OLE 1 object application for inclusion in registration entry
file by calling CLSIDFromProgID .
d. Modify the original registry entry of Ole 1 In-Place Server
Outline by setting the verbs to those of Ole 2 In-Place Server Outline.
For example, change
OLE1ISvrOtl\Protocol\StdFileEditing\Verb\0 = &Edit
to
OLE1ISvrOtl\Protocol\StdFileEditing\Verb\0 = &Edit
OLE1ISvrOtl\Protocol\StdFileEditing\Verb\1 = &Open
4. If the user is allowed to open Acme Draw 1.0
objects and save them back to disk in the Acme Draw 1.0 format:
a. Set the TreatAs = CLSID entry to the CLSID of Ole 2 In-Place
Server Outline using the following form.
CLSID\{ CLSID
of OLE 1 app.}\TreatAs = { CLSID of OLE 2 app.}
b. Set the Ole 1 In-Place Server Outline verbs to those of Ole 2
In-Place Server Outline as described in the preceding step 3.